using System;
using System.Collections.Generic;
using System.Text;

namespace IGGCore
{
    /// <summary>
    /// The team identification and associated properties
    /// </summary>
    public class TeamIdentification
    {
        private static List<TeamIdentification> teamIds = null;

        private string m_city;
        private string m_name;
        private string[] m_alternativeNames;
        private string[] m_alternativeCityNames;
        private string m_abbr;
        private int[] m_backColor = new int[3];
        private int[] m_foreColor = new int[3];
        private int[] m_backColorAway = new int[3];
        private int[] m_foreColorAway = new int[3];
        private string m_yahooPage;
        private string m_cnnsiPage;
        private int m_timezoneDiff = 0;

        public TeamIdentification(string city, string name)
        {
            m_city = city;
            m_name = name;
        }

        public int TimeZoneDiff
        {
            get { return m_timezoneDiff; }
            set { m_timezoneDiff = value; }
        }

        public int[] BackColor
        {
            get { return m_backColor; }
            set { m_backColor = value; }
        }
        public int[] ForeColor
        {
            get { return m_foreColor; }
            set { m_foreColor = value; }
        }

        public int[] BackColorAway
        {
            get { return m_backColorAway; }
            set { m_backColorAway = value; }
        }
        public int[] ForeColorAway
        {
            get { return m_foreColorAway; }
            set { m_foreColorAway = value; }
        }

        public string City
        {
            get { return m_city; }
            set { m_city = value; }
        }

        public string YahooPage
        {
            get { return m_yahooPage; }
            set { m_yahooPage = value; }
        }

        public string CNNSIPage
        {
            get { return m_cnnsiPage; }
            set { m_cnnsiPage = value; }
        }

        public string Abbr
        {
            get { return m_abbr; }
            set { m_abbr = value; }
        }
        
        public string Name
        {
            get { return m_name; }
            set { m_name = value; }
        }
        
        public string[] AlternativeNames
        {
            get { return m_alternativeNames; }
            set { m_alternativeNames = value; }
        }
        
        public string[] AlternativeCityNames
        {
            get { return m_alternativeCityNames; }
            set { m_alternativeCityNames = value; }
        }

        /// <summary>
        /// Is the team identified by a specified word
        /// </summary>
        public bool IsIdentifiedByWord(string word)
        {
            bool identified = false;
            if (City.ToLower().Equals(word.ToLower()))
            {
                identified = true;
            }
            else if (Name.ToLower().Equals(word.ToLower()))
            {
                identified = true;
            }
            else
            {
                if (m_alternativeCityNames != null)
                {
                    foreach (string name in m_alternativeCityNames)
                    {
                        if (name.ToLower().Equals(word.ToLower()))
                        {
                            identified = true;
                        }
                    }
                }
                if (identified == false && m_alternativeNames != null)
                {
                    foreach (string name in m_alternativeNames)
                    {
                        if (name.ToLower().Equals(word.ToLower()))
                        {
                            identified = true;
                        }
                    }
                }
            }
            return identified;
        }

        /// <summary>
        /// Get a team identified by this word. Null if none.
        /// </summary>
        public static TeamIdentification GetTeam(string word)
        {
            TeamIdentification teamId = null;
            List<TeamIdentification> ids = GetTeamIds();
            foreach (TeamIdentification id in ids)
            {
                if (id.IsIdentifiedByWord(word))
                {
                    teamId = id;
                    break;
                }
            }
            return teamId;
        }

        /// <summary>
        /// Return the list of team identifications
        /// </summary>
        /// <returns></returns>
        public static List<TeamIdentification> GetTeamIds()
        {
            if (teamIds == null)
            {
                teamIds = new List<TeamIdentification>();

                // ATLANTA BRAVES
                TeamIdentification idAtlanta = new TeamIdentification("Atlanta", "Braves");
                idAtlanta.Abbr = "ATL";
                idAtlanta.CNNSIPage = "http://sportsillustrated.cnn.com/baseball/mlb/rosters/atlanta-braves/byLAST_NM.html";
                idAtlanta.YahooPage = "http://ca.sports.yahoo.com/mlb/teams/atl/photos";
                idAtlanta.BackColor = new int[] { 255, 255, 255 };
                idAtlanta.ForeColor = new int[] { 182, 18, 52 };
                idAtlanta.BackColorAway = new int[] { 196, 194, 194 };
                idAtlanta.ForeColorAway = new int[] { 182, 18, 52 };
                teamIds.Add(idAtlanta);

                // NEW YORK METS
                TeamIdentification idNYMets = new TeamIdentification("New York", "Mets");
                idNYMets.Abbr = "NYM";
                idNYMets.AlternativeNames = new string[] { "NY Mets" };
                idNYMets.CNNSIPage = "http://sportsillustrated.cnn.com/baseball/mlb/rosters/new-york-mets/byLAST_NM.html";
                idNYMets.YahooPage = "http://ca.sports.yahoo.com/mlb/teams/nym/photos";
                idNYMets.BackColor = new int[] { 255, 255, 255 };
                idNYMets.ForeColor = new int[] { 0, 44, 119 };
                idNYMets.BackColorAway = new int[] { 196, 194, 194 };
                idNYMets.ForeColorAway = new int[] { 251, 79, 20 };
                teamIds.Add(idNYMets);

                // Miami MARLINS
                TeamIdentification idMiami = new TeamIdentification("Miami", "Marlins");
                idMiami.Abbr = "MIA";
                idMiami.CNNSIPage = "http://sportsillustrated.cnn.com/baseball/mlb/rosters/miami-marlins/byLAST_NM.html";
                idMiami.YahooPage = "http://ca.sports.yahoo.com/mlb/teams/mia/photos";
                idMiami.BackColor = new int[] { 255, 255, 255 };
                idMiami.ForeColor = new int[] { 0, 154, 166 };
                idMiami.BackColorAway = new int[] { 196, 194, 194 };
                idMiami.ForeColorAway = new int[] { 0, 154, 166 };
                teamIds.Add(idMiami);

                // PHILADELPHIA PHILLIES
                TeamIdentification idPhilly = new TeamIdentification("Philadelphia", "Phillies");
                idPhilly.Abbr = "PHI";
                idPhilly.AlternativeCityNames = new string[] { "Philly" };
                idPhilly.CNNSIPage = "http://sportsillustrated.cnn.com/baseball/mlb/rosters/philadelphia-phillies/byLAST_NM.html";
                idPhilly.YahooPage = "http://ca.sports.yahoo.com/mlb/teams/phi/photos";
                idPhilly.BackColor = new int[] { 255, 255, 255 };
                idPhilly.ForeColor = new int[] { 209, 7, 7 };
                idPhilly.BackColorAway = new int[] { 196, 194, 194 };
                idPhilly.ForeColorAway = new int[] { 209, 7, 7 };
                teamIds.Add(idPhilly);

                // WASHINGTON NATIONALS
                TeamIdentification idNats = new TeamIdentification("Washington", "Nationals");
                idNats.Abbr = "WAS";
                idNats.AlternativeNames = new string[] { "Nats" };
                idNats.CNNSIPage = "http://sportsillustrated.cnn.com/baseball/mlb/rosters/washington-nationals/byLAST_NM.html";
                idNats.YahooPage = "http://ca.sports.yahoo.com/mlb/teams/was/photos";
                idNats.BackColor = new int[] { 255, 255, 255 };
                idNats.ForeColor = new int[] { 186, 18, 43 };
                idNats.BackColorAway = new int[] { 196, 194, 194 };
                idNats.ForeColorAway = new int[] { 186, 18, 43 };
                teamIds.Add(idNats);

                // CHICAGO CUBS
                TeamIdentification idCubs = new TeamIdentification("Chicago", "Cubs");
                idCubs.TimeZoneDiff = 1;
                idCubs.Abbr = "CHC";
                idCubs.CNNSIPage = "http://sportsillustrated.cnn.com/baseball/mlb/rosters/chicago-cubs/byLAST_NM.html";
                idCubs.YahooPage = "http://ca.sports.yahoo.com/mlb/teams/chc/photos";
                idCubs.BackColor = new int[] { 255, 255, 255 };
                idCubs.ForeColor = new int[] { 0, 51, 102 };
                idCubs.BackColorAway = new int[] { 196, 194, 194 };
                idCubs.ForeColorAway = new int[] { 0, 51, 102 };
                teamIds.Add(idCubs);

                // MILWAUKEE BREWERS
                TeamIdentification idBrewers = new TeamIdentification("Milwaukee", "Brewers");
                idBrewers.Abbr = "MIL";
                idBrewers.TimeZoneDiff = 1;
                idBrewers.CNNSIPage = "http://sportsillustrated.cnn.com/baseball/mlb/rosters/milwaukee-brewers/byLAST_NM.html";
                idBrewers.YahooPage = "http://ca.sports.yahoo.com/mlb/teams/mil/photos";
                idBrewers.BackColor = new int[] { 255, 255, 255 };
                idBrewers.ForeColor = new int[] { 24, 43, 73 };
                idBrewers.BackColorAway = new int[] { 196, 194, 194 };
                idBrewers.ForeColorAway = new int[] { 24, 43, 73 };
                teamIds.Add(idBrewers);

                // HOUSTON ASTROS
                TeamIdentification idAstros = new TeamIdentification("Houston", "Astros");
                idAstros.Abbr = "HOU";
                idAstros.TimeZoneDiff = 1;
                idAstros.CNNSIPage = "http://sportsillustrated.cnn.com/baseball/mlb/rosters/houston-astros/byLAST_NM.html";
                idAstros.YahooPage = "http://ca.sports.yahoo.com/mlb/teams/hou/photos";
                idAstros.BackColor = new int[] { 255, 255, 255 };
                idAstros.ForeColor = new int[] { 152, 50, 34 };
                idAstros.BackColorAway = new int[] { 196, 194, 194 };
                idAstros.ForeColorAway = new int[] { 175, 12, 5 };
                teamIds.Add(idAstros);

                // ST. LOUIS CARDINALS
                TeamIdentification idCards = new TeamIdentification("St. Louis", "Cardinals");
                idCards.Abbr = "STL";
                idCards.TimeZoneDiff = 1;
                idCards.AlternativeNames = new string[] { "Cards" };
                idCards.AlternativeCityNames = new string[] { "Louis", "St-Louis", "St.Louis" };
                idCards.CNNSIPage = "http://sportsillustrated.cnn.com/baseball/mlb/rosters/st-louis-cardinals/byLAST_NM.html";
                idCards.YahooPage = "http://ca.sports.yahoo.com/mlb/teams/stl/photos";
                idCards.BackColor = new int[] { 255, 255, 255 };
                idCards.ForeColor = new int[] { 196, 30, 58 };
                idCards.BackColorAway = new int[] { 196, 194, 194 };
                idCards.ForeColorAway = new int[] { 196, 30, 58 };
                teamIds.Add(idCards);

                // PITTSBURGH PIRATES
                TeamIdentification idPirates = new TeamIdentification("Pittsburgh", "Pirates");
                idPirates.Abbr = "PIT";
                idPirates.AlternativeNames = new string[] { "Bucks" };
                idPirates.CNNSIPage = "http://sportsillustrated.cnn.com/baseball/mlb/rosters/pittsburgh-pirates/byLAST_NM.html";
                idPirates.YahooPage = "http://ca.sports.yahoo.com/mlb/teams/pit/photos";
                idPirates.BackColor = new int[] { 255, 255, 255 };
                idPirates.ForeColor = new int[] { 0, 0, 0 };
                idPirates.BackColorAway = new int[] { 196, 194, 194 };
                idPirates.ForeColorAway = new int[] { 0, 0, 0 };
                teamIds.Add(idPirates);

                // CINCINNATI REDS
                TeamIdentification idReds = new TeamIdentification("Cincinnati", "Reds");
                idReds.Abbr = "CIN";
                idReds.CNNSIPage = "http://sportsillustrated.cnn.com/baseball/mlb/rosters/cincinnati-reds/byLAST_NM.html";
                idReds.YahooPage = "http://ca.sports.yahoo.com/mlb/teams/cin/photos";
                idReds.BackColor = new int[] { 255, 255, 255 };
                idReds.ForeColor = new int[] { 198, 1, 31 };
                idReds.BackColorAway = new int[] { 196, 194, 194 };
                idReds.ForeColorAway = new int[] { 198, 1, 31 };
                teamIds.Add(idReds);

                // ARIZONA DIAMONDBACKS
                TeamIdentification idAriz = new TeamIdentification("Arizona", "Diamondbacks");
                idAriz.Abbr = "ARI";
                idAriz.TimeZoneDiff = 2;
                idAriz.AlternativeNames = new string[] { "D-Backs" };
                idAriz.CNNSIPage = "http://sportsillustrated.cnn.com/baseball/mlb/rosters/arizona-diamondbacks/byLAST_NM.html";
                idAriz.YahooPage = "http://ca.sports.yahoo.com/mlb/teams/ari/photos";
                idAriz.BackColor = new int[] { 255, 255, 255 };
                idAriz.ForeColor = new int[] { 167, 25, 48 };
                idAriz.BackColorAway = new int[] { 196, 194, 194 };
                idAriz.ForeColorAway = new int[] { 167, 25, 48 };
                teamIds.Add(idAriz);

                // LOS ANGELES DODGERS
                TeamIdentification idDodg = new TeamIdentification("Los Angeles", "Dodgers");
                idDodg.Abbr = "LAD";
                idDodg.TimeZoneDiff = 3;
                idDodg.AlternativeCityNames = new string[] { "LA", "L.A." };
                idDodg.CNNSIPage = "http://sportsillustrated.cnn.com/baseball/mlb/rosters/los-angeles-dodgers/byLAST_NM.html";
                idDodg.YahooPage = "http://ca.sports.yahoo.com/mlb/teams/lad/photos";
                idDodg.BackColor = new int[] { 255, 255, 255 };
                idDodg.ForeColor = new int[] { 8, 60, 107 };
                idDodg.BackColorAway = new int[] { 196, 194, 194 };
                idDodg.ForeColorAway = new int[] { 8, 60, 107 };
                teamIds.Add(idDodg);

                // SAN FRANCISCO GIANTS
                TeamIdentification idSF = new TeamIdentification("San Francisco", "Giants");
                idSF.Abbr = "SF";
                idSF.TimeZoneDiff = 3;
                idSF.AlternativeCityNames = new string[] { "Frisco", "Francisco", "SF", "S.F." };
                idSF.CNNSIPage = "http://sportsillustrated.cnn.com/baseball/mlb/rosters/san-francisco-giants/byLAST_NM.html";
                idSF.YahooPage = "http://ca.sports.yahoo.com/mlb/teams/sfo/photos";
                idSF.BackColor = new int[] { 255, 255, 255 };
                idSF.ForeColor = new int[] { 0, 0, 0 };
                idSF.BackColorAway = new int[] { 196, 194, 194 };
                idSF.ForeColorAway = new int[] { 253, 90, 30 };
                teamIds.Add(idSF);

                // SAN DIEGO PADRES
                TeamIdentification idPadres = new TeamIdentification("San Diego", "Padres");
                idPadres.Abbr = "SD";
                idPadres.TimeZoneDiff = 3;
                idPadres.AlternativeCityNames = new string[] { "SD" , "Diego" };
                idPadres.CNNSIPage = "http://sportsillustrated.cnn.com/baseball/mlb/rosters/san-diego-padres/byLAST_NM.html";
                idPadres.YahooPage = "http://ca.sports.yahoo.com/mlb/teams/sdg/photos";
                idPadres.BackColor = new int[] { 255, 255, 255 };
                idPadres.ForeColor = new int[] { 0, 33, 71 };
                idPadres.BackColorAway = new int[] { 196, 194, 194 };
                idPadres.ForeColorAway = new int[] { 0, 33, 71 };
                teamIds.Add(idPadres);

                // COLORADO ROCKIES
                TeamIdentification idRockies = new TeamIdentification("Colorado", "Rockies");
                idRockies.Abbr = "COL";
                idRockies.TimeZoneDiff = 2;
                idRockies.CNNSIPage = "http://sportsillustrated.cnn.com/baseball/mlb/rosters/colorado-rockies/byLAST_NM.html";
                idRockies.YahooPage = "http://ca.sports.yahoo.com/mlb/teams/col/photos";
                idRockies.BackColor = new int[] { 255, 255, 255 };
                idRockies.ForeColor = new int[] { 0, 0, 0 };
                idRockies.BackColorAway = new int[] { 196, 194, 194 };
                idRockies.ForeColorAway = new int[] { 51, 51, 102 };
                teamIds.Add(idRockies);

                // NEW YORK YANKEES
                TeamIdentification idYanks = new TeamIdentification("New York", "Yankees");
                idYanks.Abbr = "NYY";
                idYanks.AlternativeNames = new string[] { "NY Yankees" };
                idYanks.CNNSIPage = "http://sportsillustrated.cnn.com/baseball/mlb/rosters/new-york-yankees/byLAST_NM.html";
                idYanks.YahooPage = "http://ca.sports.yahoo.com/mlb/teams/nyy/photos";
                idYanks.BackColor = new int[] { 255, 255, 255 };
                idYanks.ForeColor = new int[] { 28, 40, 65 };
                idYanks.BackColorAway = new int[] { 196, 194, 194 };
                idYanks.ForeColorAway = new int[] { 28, 40, 65 };
                teamIds.Add(idYanks);

                // BOSTON RED SOX
                TeamIdentification idBoston = new TeamIdentification("Boston", "Red Sox");
                idBoston.Abbr = "BOS";
                idBoston.AlternativeNames = new string[] { "Red" };
                idBoston.CNNSIPage = "http://sportsillustrated.cnn.com/baseball/mlb/rosters/boston-red-sox/byLAST_NM.html";
                idBoston.YahooPage = "http://ca.sports.yahoo.com/mlb/teams/bos/photos";
                idBoston.BackColor = new int[] { 255, 255, 255 };
                idBoston.ForeColor = new int[] { 198, 12, 48 };
                idBoston.BackColorAway = new int[] { 196, 194, 194 };
                idBoston.ForeColorAway = new int[] { 0, 34, 68 };
                teamIds.Add(idBoston);

                // TORONTO BLUE JAYS
                TeamIdentification idJays = new TeamIdentification("Toronto", "Blue Jays");
                idJays.Abbr = "TOR";
                idJays.AlternativeNames = new string[] { "Jays" };
                idJays.CNNSIPage = "http://sportsillustrated.cnn.com/baseball/mlb/rosters/toronto-blue-jays/byLAST_NM.html";
                idJays.YahooPage = "http://ca.sports.yahoo.com/mlb/teams/tor/photos";
                idJays.BackColor = new int[] { 255, 255, 255 };
                idJays.ForeColor = new int[] { 0, 0, 0 };
                idJays.BackColorAway = new int[] { 196, 194, 194 };
                idJays.ForeColorAway = new int[] { 0, 0, 0 };
                teamIds.Add(idJays);

                // TAMPA BAY RAYS
                TeamIdentification idRays = new TeamIdentification("Tampa Bay", "Rays");
                idRays.Abbr = "TB";
                idRays.AlternativeCityNames = new string[] { "Tampa" };
                idRays.CNNSIPage = "http://sportsillustrated.cnn.com/baseball/mlb/rosters/tampa-bay-rays/byLAST_NM.html";
                idRays.YahooPage = "http://ca.sports.yahoo.com/mlb/teams/tam/photos";
                idRays.BackColor = new int[] { 255, 255, 255 };
                idRays.ForeColor = new int[] { 0, 40, 93 };
                idRays.BackColorAway = new int[] { 196, 194, 194 };
                idRays.ForeColorAway = new int[] { 0, 40, 93 };
                teamIds.Add(idRays);

                // BALTIMORE ORIOLES
                TeamIdentification idBalt = new TeamIdentification("Baltimore", "Orioles");
                idBalt.Abbr = "BAL";
                idBalt.CNNSIPage = "http://sportsillustrated.cnn.com/baseball/mlb/rosters/baltimore-orioles/byLAST_NM.html";
                idBalt.YahooPage = "http://ca.sports.yahoo.com/mlb/teams/bal/photos";
                idBalt.BackColor = new int[] { 255, 255, 255 };
                idBalt.ForeColor = new int[] { 251, 79, 20 };
                idBalt.BackColorAway = new int[] { 196, 194, 194 };
                idBalt.ForeColorAway = new int[] { 251, 79, 20 };
                teamIds.Add(idBalt);

                // CLEVELAND INDIANS
                TeamIdentification idClev = new TeamIdentification("Cleveland", "Indians");
                idClev.Abbr = "CLE";
                idClev.CNNSIPage = "http://sportsillustrated.cnn.com/baseball/mlb/rosters/cleveland-indians/byLAST_NM.html";
                idClev.YahooPage = "http://ca.sports.yahoo.com/mlb/teams/cle/photos";
                idClev.BackColor = new int[] { 255, 255, 255 };
                idClev.ForeColor = new int[] { 200, 8, 16 };
                idClev.BackColorAway = new int[] { 196, 194, 194 };
                idClev.ForeColorAway = new int[] { 200, 8, 16 };
                teamIds.Add(idClev);

                // CHICAGO WHITE SOX
                TeamIdentification idWhit = new TeamIdentification("Chicago", "White Sox");
                idWhit.Abbr = "CHW";
                idWhit.AlternativeCityNames = new string[] { "White" };
                idWhit.CNNSIPage = "http://sportsillustrated.cnn.com/baseball/mlb/rosters/chicago-white-sox/byLAST_NM.html";
                idWhit.YahooPage = "http://ca.sports.yahoo.com/mlb/teams/chw/photos";
                idWhit.BackColor = new int[] { 255, 255, 255 };
                idWhit.ForeColor = new int[] { 0, 0, 0 };
                idWhit.BackColorAway = new int[] { 196, 194, 194 };
                idWhit.ForeColorAway = new int[] { 0, 0, 0 };
                teamIds.Add(idWhit);

                // DETROIT TIGERS
                TeamIdentification idTigers = new TeamIdentification("Detroit", "Tigers");
                idTigers.Abbr = "DET";
                idTigers.CNNSIPage = "http://sportsillustrated.cnn.com/baseball/mlb/rosters/detroit-tigers/byLAST_NM.html";
                idTigers.YahooPage = "http://ca.sports.yahoo.com/mlb/teams/det/photos";
                idTigers.BackColor = new int[] { 255, 255, 255 };
                idTigers.ForeColor = new int[] { 0, 23, 66 };
                idTigers.BackColorAway = new int[] { 196, 194, 194 };
                idTigers.ForeColorAway = new int[] { 222, 68, 6 };
                teamIds.Add(idTigers);

                // MINNESOTA TWINS
                TeamIdentification idTwins = new TeamIdentification("Minnesota", "Twins");
                idTwins.Abbr = "MIN";
                idTwins.TimeZoneDiff = 1;
                idTwins.CNNSIPage = "http://sportsillustrated.cnn.com/baseball/mlb/rosters/minnesota-twins/byLAST_NM.html";
                idTwins.YahooPage = "http://ca.sports.yahoo.com/mlb/teams/min/photos";
                idTwins.BackColor = new int[] { 255, 255, 255 };
                idTwins.ForeColor = new int[] { 198, 1, 31 };
                idTwins.BackColorAway = new int[] { 196, 194, 194 };
                idTwins.ForeColorAway = new int[] { 7, 39, 84 };
                teamIds.Add(idTwins);

                // KANSAS CITY ROYALS
                TeamIdentification idRoyals = new TeamIdentification("Kansas City", "Royals");
                idRoyals.Abbr = "KC";
                idRoyals.AlternativeCityNames = new string[] { "Kansas", "KC"};
                idRoyals.TimeZoneDiff = 1;
                idRoyals.CNNSIPage = "http://sportsillustrated.cnn.com/baseball/mlb/rosters/kansas-city-royals/byLAST_NM.html";
                idRoyals.YahooPage = "http://ca.sports.yahoo.com/mlb/teams/kan/photos";
                idRoyals.BackColor = new int[] { 255, 255, 255 };
                idRoyals.ForeColor = new int[] { 21, 49, 126 };
                idRoyals.BackColorAway = new int[] { 196, 194, 194 };
                idRoyals.ForeColorAway = new int[] { 21, 49, 126 };
                teamIds.Add(idRoyals);

                // LOS ANGELES ANGELS
                TeamIdentification idAngels = new TeamIdentification("Los Angeles", "Angels");
                idAngels.Abbr = "LAA";
                idAngels.TimeZoneDiff = 3;
                idAngels.AlternativeCityNames = new string[] { "Anaheim" };
                idAngels.CNNSIPage = "http://sportsillustrated.cnn.com/baseball/mlb/rosters/los-angeles-angels/byLAST_NM.html";
                idAngels.YahooPage = "http://ca.sports.yahoo.com/mlb/teams/laa/photos";
                idAngels.BackColor = new int[] { 255, 255, 255 };
                idAngels.ForeColor = new int[] { 183, 18, 52 };
                idAngels.BackColorAway = new int[] { 196, 194, 194 };
                idAngels.ForeColorAway = new int[] { 183, 18, 52 };
                teamIds.Add(idAngels);

                // OAKLAND A'S
                TeamIdentification idAs = new TeamIdentification("Oakland", "Athletics");
                idAs.Abbr = "OAK";
                idAs.TimeZoneDiff = 3;
                idAs.AlternativeNames = new string[] { "A's", "A'S"};
                idAs.CNNSIPage = "http://sportsillustrated.cnn.com/baseball/mlb/rosters/oakland-athletics/byLAST_NM.html";
                idAs.YahooPage = "http://ca.sports.yahoo.com/mlb/teams/oak/photos";
                idAs.BackColor = new int[] { 255, 255, 255 };
                idAs.ForeColor = new int[] { 0, 56, 49 };
                idAs.BackColorAway = new int[] { 196, 194, 194 };
                idAs.ForeColorAway = new int[] { 0, 56, 49 };
                teamIds.Add(idAs);

                // SEATTLE MARINERS
                TeamIdentification idMariners = new TeamIdentification("Seattle", "Mariners");
                idMariners.Abbr = "SEA";
                idMariners.TimeZoneDiff = 3;
                idMariners.CNNSIPage = "http://sportsillustrated.cnn.com/baseball/mlb/rosters/seattle-mariners/byLAST_NM.html";
                idMariners.YahooPage = "http://ca.sports.yahoo.com/mlb/teams/sea/photos";
                idMariners.BackColor = new int[] { 255, 255, 255 };
                idMariners.ForeColor = new int[] { 12, 44, 86 };
                idMariners.BackColorAway = new int[] { 196, 194, 194 };
                idMariners.ForeColorAway = new int[] { 0, 92, 92 };
                teamIds.Add(idMariners);

                // TEXAS RANGERS
                TeamIdentification idTexas = new TeamIdentification("Texas", "Rangers");
                idTexas.Abbr = "TEX";
                idTexas.TimeZoneDiff = 1;
                idTexas.CNNSIPage = "http://sportsillustrated.cnn.com/baseball/mlb/rosters/texas-rangers/byLAST_NM.html";
                idTexas.YahooPage = "http://ca.sports.yahoo.com/mlb/teams/tex/photos";
                idTexas.BackColor = new int[] { 255, 255, 255 };
                idTexas.ForeColor = new int[] { 0, 50, 121 };
                idTexas.BackColorAway = new int[] { 196, 194, 194 };
                idTexas.ForeColorAway = new int[] { 189, 16, 33 };
                teamIds.Add(idTexas);
            }
            return teamIds;
        }
    }
}
